package demo5;

import java.util.ArrayList;
import java.util.List;

public class PascalTriangle {
    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> list=new ArrayList<>();
        List<Integer> list0=new ArrayList<>();
        //给第0行添加元素
        list0.add(1);
        list.add(list0);

        for(int i=1;i<numRows;i++){
            List<Integer> curRows=new ArrayList<>();
            curRows.add(1);

            //中间：
            List<Integer> prevRows=list.get(i-1);
            for(int j=1;j<i;j++){
                int val1=prevRows.get(j);
                int val2=prevRows.get(j-1);
                curRows.add(val1+val2);
            }
            //结尾：
            curRows.add(1);
            list.add(curRows);
        }
        return list;


    }

    public static void main(String[] args) {
        List<List<Integer>> list=generate(4);
        for (int i = 0; i < list.size(); i++) {
            for(int j=0;j<list.get(i).size();j++){
                System.out.print(list.get(i).get(j)+" ");
            }
            System.out.println();

        }
    }
}
